/**
* 微信API封装
**/

//用户登录获取CODE   (第三方服务器，用CODE换取OPENID，并自定义SESSIONG存储用户信息)
function login(callback){
    wx.login({
        success:res=>{
            callback(res)
        }
    })
}


//获取设备信息
function getSystemInfo(callback) {
    wx.getSystemInfo({
        success:res=>{
            callback({success:true,data:res})
        },
        fail:err=>{
            callback({success:false,data:res})
        }
    })
}

//获取用户基本信息
function getUserInfo(callback){
    wx.getSetting({
        success(res){
            if(res.authSetting['scope.userInfo']){
                wx.getUserInfo({
                    success:res=>{
                        callback(res.userInfo)
                    }
                })
            }else{
              callback({ notAuthSetting: true, nickName: '未登录', avatarUrl: '/image/person.png' })
                // wx.authorize({
                //     scope:'scope.userInfo',
                //     success(){
                //         wx.getUserInfo({
                //             success:res=>{
                //                 callback(res.userInfo)
                //             }
                //         })
                //     },
                //     fail(){
                //         callback({nickName:'游客',avatarUrl:'/image/person.png'})
                //     }
                // })
            }
        }
    })
}

//获取当前位置坐标
function getLocation(callback){
    wx.getSetting({
        success(res){
            if(res.authSetting['scope.userLocation']){
                wx.getLocation({
                    type:'gcj02',     //wgs84  gps坐标，gcj02  国内坐标
                    success:res=>{
                        callback(res)
                    }
                })
            }else{
                wx.authorize({
                    scope:'scope.userLocation',
                    success(){
                        wx.getLocation({
                            type:'gcj02',     //wgs84  gps坐标，gcj02  国内坐标
                            success:res=>{
                                callback(res)
                            }
                        })
                    },
                    fail(){
                        callback({latitude:25.05000,longitude:102.73333})
                    }
                })
            }
        }
    })
}

/**
打开地图
latitude  经度   范围  -90~90
longitude 纬度   范围  -180~180
scale  地图缩放级别，默认18   范围   5~18
name   位置名称
address  详细地址
 */
function openLocation(latitude,longitude,scale,name,address){
    wx.openLocation({
        latitude:latitude,
        longitude:longitude,
        scale:scale,
        name:name,
        address:address
    })
}

//选择收货地址（微信收货地址）
function chooseAddress(callback){
    if(wx.chooseAddress){
        wx.getSetting({
            success(res){
                if(res.authSetting['scope.address']){
                    wx.chooseAddress({
                        success:res=>{
                            callback({success:true,data:res})
                        },
                        fail:err=>{
                            callback({success:false,data:err})
                        }
                    })
                }else{
                    wx.authorize({
                        scope:'scope.address',
                        success(){
                            wx.chooseAddress({
                                success:res=>{
                                    callback({success:true,data:res})
                                },
                                fail:err=>{
                                    callback({success:false,data:err})
                                }
                            })
                        },
                        fail(){
                            wx.showModal({
                                title:"提示",
                                content:"由于您没有授权，我们无法拿到您的收货地址信息，您现在需要在微信【发现】-【小程序】-删掉【一心堂】，然后重新搜索进行关注，地址重授权后方可使用。"
                            })
                        }
                    })
                }
            }
        })
    }else{
        wx.showModal({
            title:"提示",
            content:"当前微信版本过低，无法使用收货地址功能，请升级到最新微信版本后重试。"
        })
    }
}

//微信拨打电话
function makePhoneCall(phoneNumber){
    wx.makePhoneCall({
        phoneNumber:phoneNumber
    })
}

//上传多张图片的方法
function uploadMoreImg(url,filePath,ii,callback){ //本函数在手机上传会丢失图片--废弃
 let that=this
 let resimgUrl=''
 wx.uploadFile({
    url: url, 
    filePath: filePath,
    name: 'fileData',
    formData:null,
    success: (res) => {
      resimgUrl=(JSON.parse(res.data)).data[0]
       callback(resimgUrl)
    },
    fail: (res) => {
    },
    complete:() => {
    }
  }) 
  
}

//选择+预览图片的方法
function chooseImage(callback){
     wx.chooseImage({ 
      count: 5, // 最多5张
      sizeType: ['compressed'], // 指定是压缩图
      success: function (res) {
         callback({success:true,data:res})
        }
     })
}

module.exports={
    login:login,
    getSystemInfo: getSystemInfo,
    getUserInfo:getUserInfo,
    getLocation:getLocation,
    openLocation:openLocation,
    chooseAddress:chooseAddress,
    makePhoneCall:makePhoneCall,
    chooseImage:chooseImage,
    uploadMoreImg:uploadMoreImg
}
